Generally described, computing devices and communication networks can be utilized to exchange information. In a common application, a computing device can request content from another computing device via the communication network. For example, a user at a personal computing device can utilize a software browser application, typically referred to as a browser, to request a Web page from a server computing device via the Internet. In such embodiments, the user computing device can be referred to as a client computing device and the server computing device can be referred to as a content provider.
With reference to an illustrative example, a requested Web page or other content may be associated with a number of additional resources, such as images or videos, that are to be displayed with the Web page. These additional resources may be referred to as “embedded resources.” In one specific embodiment, embedded resources of a Web page are identified by a number of embedded resource identifiers, such as uniform resource locators (“URLs”) included in or associated with the Web page or network resource. In turn, software on the client computing devices, such as a browser, typically processes embedded resource identifiers to generate requests for the content. Accordingly, in order to satisfy a content request, one or more content providers will generally provide client computing devices data associated with the Web page as well as the data associated with the embedded resources.
In a typical embodiment, a client computing device may not request embedded resources associated with a requested Web page or other network resource until the Web page has been processed by the browser or other application to identify associated embedded resource identifiers. In many cases, the requirement that the client computing device request the network resource and associated embedded content sequentially can introduce inefficiency and delay in the service and processing of network content. For example, because a client computing device will not request embedded resources until it has obtained and processed the associated Web page, the presentation of the complete Web page to an end user can be delayed.
From the perspective of a user utilizing a client computing device, a user experience can be defined in terms of the performance and latencies associated with obtaining network content over a communication network, such as obtaining a Web page, processing embedded resource identifiers, generating requests to obtain embedded resources, and rendering content on the client computing device. Latencies and performance limitations of any of the above processes may diminish the user experience. Additionally, latencies and inefficiencies may be especially apparent on computing devices with limited network resources or connectivity such as netbooks, tablets, smartphones, and the like.